﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using BuildPlannerLib.Terran.Enums;

namespace BuildPlannerLib.Terran
{
    // Derived class from Unit for Terran units
    public class TerranUnit : Unit
    {
        // Boolean property for whether a tech lab is required to produce the unit
        private bool techLab;
        public bool TechLab
        {
            get { return techLab; }
            set { techLab = value; }
        }

        // Constructor with parameters for name, cost, time duration, production building, and tech lab requirement
        public TerranUnit(string name, int mineralCost, int gasCost, int supplyCost, int timeDuration, string producedFrom, bool techLab)
        {
            Name = name;

            MineralCost = mineralCost;
            GasCost = gasCost;
            SupplyCost = supplyCost;
            TimeDuration = timeDuration;

            ProducedFrom = producedFrom;

            TechLab = techLab;
        }

        // Constructor with parameters for name, cost, time duration, production building, tech lab requirement, and requirement building
        public TerranUnit(string name, int mineralCost, int gasCost, int supplyCost, int timeDuration, string producedFrom, bool techLab, string requirement)
        {
            Name = name;

            MineralCost = mineralCost;
            GasCost = gasCost;
            SupplyCost = supplyCost;
            TimeDuration = timeDuration;

            ProducedFrom = producedFrom;
            Requirement = requirement;

            TechLab = techLab;
        }
    }
}
